package busterminalweb.action.user;

import busterminal.services.ServiceLocator;
import busterminalweb.action.Action;
import busterminalweb.action.ActionResult;
import busterminalweb.authorization.Authorization;
import busterminalweb.authorization.User;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Ообразить список пользователей системы
 */
public class UserListAction implements Action {

    /**
     * Константа для авторизации пользователя
     */
    private final static String USER = "user";

    /**
     * Выполнить действие
     * @param request запрос
     * @param response ответ
     * @return страница, которой нужно передать управление
     */
    @Override
    public ActionResult execute(HttpServletRequest request, HttpServletResponse response) {
        List<User> userList = ServiceLocator.getService(Authorization.class).findAll();
        request.setAttribute("userList", userList);

        User user = (User) request.getSession().getAttribute(USER);
        request.setAttribute(USER, user);

        return ActionResult.forward("user/UserListView.jsp");
    }

    /**
     * Получить имя действия
     * @return имя действия
     */
    @Override
    public String getName() {
        return "user.list";
    }
    
}
